#include <string.h>
#include <memory>
#include <thread>
#include <functional>
#include <stdio.h>
#include <iostream>
#include <unistd.h>


using namespace std;


void task1(std::string msg)
{
	std::cout << "task1 says: " << msg;
}

int main() 
{
	std::thread t1(task1, "hello");
	return 0;
}

/*
 * terminate called without an active exception
 * Aborted
 *
 *  1.创建线程后，主线程立马退出。但是子线程还没执行完，子线程被销毁，此时就会出现上述错误。
 *      解决方法一：主线程等待子线程完成后退出
 *      解决方法二：主线程退出并不干预子线程的销毁
 */
    